Skip to content

release: 0.4.0#53

Open
stainless-app[bot] wants to merge 21 commits intomainfrom
release-please--branches--main--changes--next
Open

release: 0.4.0#53
stainless-app[bot] wants to merge 21 commits intomainfrom
release-please--branches--main--changes--next

Conversation

@stainless-app
Copy link
Copy Markdown
Contributor

@stainless-app stainless-app Bot commented Mar 6, 2026

Automated Release PR

0.4.0 (2026-04-27)

Full Changelog: v0.3.0...v0.4.0

Features

  • internal: implement indices array format for query and form serialization (04ba964)
  • support setting headers via env (e773bb2)

Bug Fixes

  • client: preserve hardcoded query params when merging with user params (80f3981)
  • deps: bump minimum typing-extensions version (23ea212)
  • ensure file data are only sent as 1 parameter (721e574)
  • pydantic: do not pass by_alias unless set (b098b05)
  • sanitize endpoint path params (e385e21)
  • use correct field name format for multipart file arrays (a6664c3)

Performance Improvements

  • client: optimize file structure copying in multipart requests (43970d6)

Chores

  • ci: remove release-doctor workflow (5903593)
  • ci: skip lint on metadata-only changes (e11e58f)
  • ci: skip uploading artifacts on stainless-internal branches (e3ed836)
  • internal: more robust bootstrap script (a84687b)
  • internal: tweak CI branches (1fc1ee4)
  • internal: update gitignore (97672af)
  • update placeholder string (3a623d4)

Documentation

Refactors

  • types: use extra_items from PEP 728 (de6e4e4)

This pull request is managed by Stainless's GitHub App.

The semver version number is based on included commit messages. Alternatively, you can manually set the version number in the title of this pull request.

For a better experience, it is recommended to use either rebase-merge or squash-merge when merging this pull request.

🔗 Stainless website
📚 Read the docs
🙋 Reach out for help or questions

@cursor
Copy link
Copy Markdown

cursor Bot commented Mar 6, 2026

PR Summary

Medium Risk
Touches request construction and serialization (query/path interpolation and multipart file extraction), which can subtly change how API calls are formed. CI gating changes may also alter when builds/artifact uploads run.

Overview

0.4.0 release

Updates package/version metadata to 0.4.0 and refreshes the CHANGELOG.md accordingly, including a dependency bump to typing-extensions>=4.14.

Client request/serialization changes

Preserves hard-coded query parameters embedded in request URLs when merging with user-provided params, and adds DEDALUS_CUSTOM_HEADERS env support to inject default headers. Implements indices array serialization for query strings and multipart form file field names, and replaces deepcopy_minimal with a targeted deepcopy_with_paths to avoid mutating caller data while reducing copying.

Security/robustness & CI

Adds path_template for safe endpoint path interpolation (encoding values and rejecting dot-segments) and switches model retrieval to use it. CI is adjusted to skip lint/build on metadata-only commits, refine push branch filters, avoid artifact uploads on stl/* branches, and removes the release-doctor workflow and its script.

Reviewed by Cursor Bugbot for commit 2455764. Bugbot is set up for automated code reviews on this repo. Configure here.

Copy link
Copy Markdown

@cursor cursor Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Bugbot Autofix prepared a fix for the issue found in the latest run.

  • ✅ Fixed: Minimum typing-extensions version too low for extra_items
    • Updated the package dependency constraint to typing-extensions>=4.13 so TypedDict(extra_items=...) is supported at import time.

Create PR

Or push these changes by commenting:

@cursor push 4d33f509c1
Preview (4d33f509c1)
diff --git a/pyproject.toml b/pyproject.toml
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -11,7 +11,7 @@
 dependencies = [
   "httpx>=0.23.0, <1",
   "pydantic>=1.9.0, <3",
-  "typing-extensions>=4.10, <5",
+  "typing-extensions>=4.13, <5",
   "anyio>=3.5.0, <5",
   "distro>=1.7.0, <2",
   "sniffio",

Comment thread src/dedalus_labs/types/shared_params/reasoning.py
@stainless-app stainless-app Bot force-pushed the release-please--branches--main--changes--next branch from b40181c to db00e7a Compare March 7, 2026 12:56
@stainless-app
Copy link
Copy Markdown
Contributor Author

stainless-app Bot commented Mar 7, 2026

🧪 Testing

To try out this version of the SDK:

pip install 'https://pkg.stainless.com/s/dedalus-sdk-python/e773bb29d5221a76cdc2b8a38f430920dd821b13/dedalus_labs-0.3.0-py3-none-any.whl'

Expires at: Wed, 27 May 2026 22:32:07 GMT
Updated at: Mon, 27 Apr 2026 22:32:07 GMT

@stainless-app stainless-app Bot force-pushed the release-please--branches--main--changes--next branch from db00e7a to e3f484a Compare March 7, 2026 13:17
@stainless-app stainless-app Bot force-pushed the release-please--branches--main--changes--next branch from e3f484a to 14149b0 Compare March 16, 2026 17:35
@stainless-app stainless-app Bot force-pushed the release-please--branches--main--changes--next branch from 14149b0 to fa5441e Compare March 16, 2026 19:04
@stainless-app stainless-app Bot force-pushed the release-please--branches--main--changes--next branch from fa5441e to 73aba21 Compare March 16, 2026 20:49
@stainless-app stainless-app Bot force-pushed the release-please--branches--main--changes--next branch from 73aba21 to ffeed0c Compare March 19, 2026 15:39
stainless-app Bot added 2 commits March 23, 2026 12:40
Note that we still want to run tests, as these depend on the metadata.
@stainless-app stainless-app Bot force-pushed the release-please--branches--main--changes--next branch from ffeed0c to 6ebd591 Compare March 24, 2026 15:19
@stainless-app stainless-app Bot force-pushed the release-please--branches--main--changes--next branch from 6ebd591 to 8e8f7a0 Compare March 26, 2026 19:26
@stainless-app stainless-app Bot changed the title release: 0.3.1 release: 0.4.0 Mar 26, 2026
@stainless-app stainless-app Bot force-pushed the release-please--branches--main--changes--next branch from 8e8f7a0 to cb3d817 Compare March 26, 2026 19:26
@stainless-app stainless-app Bot force-pushed the release-please--branches--main--changes--next branch from cb3d817 to d9a10c4 Compare April 7, 2026 16:12
@stainless-app stainless-app Bot force-pushed the release-please--branches--main--changes--next branch from d9a10c4 to 9100b7b Compare April 10, 2026 14:57
@stainless-app stainless-app Bot force-pushed the release-please--branches--main--changes--next branch from 9100b7b to 3d3d908 Compare April 10, 2026 21:47
@stainless-app stainless-app Bot force-pushed the release-please--branches--main--changes--next branch from 3d3d908 to d079b85 Compare April 14, 2026 19:28
@stainless-app stainless-app Bot force-pushed the release-please--branches--main--changes--next branch from d079b85 to d4d80f1 Compare April 17, 2026 17:37
@stainless-app stainless-app Bot force-pushed the release-please--branches--main--changes--next branch from d4d80f1 to 2cddac3 Compare April 22, 2026 13:55
@stainless-app stainless-app Bot force-pushed the release-please--branches--main--changes--next branch from 2cddac3 to 08885a4 Compare April 22, 2026 17:49
@stainless-app stainless-app Bot force-pushed the release-please--branches--main--changes--next branch from 08885a4 to 5f90f06 Compare April 27, 2026 15:03
@stainless-app stainless-app Bot force-pushed the release-please--branches--main--changes--next branch from 5f90f06 to 2455764 Compare April 27, 2026 22:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants